package com.tiancheng.trade.settlement.vo.settlement.api;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import jakarta.validation.constraints.NotNull;
import java.time.LocalDateTime;

/**
 * @Auther: wx
 * @Date: 2024/3/19 15:38
 * @Param ${tags}
 * @Description:核销订单记录表
 */
@Setter
@Getter
@ToString
public class SettlementOrderVO {
    /**
     * 核销ID
     */
    //@NotNull
    private String verificationId;
    /**
     * 用户ID
     */
    @NotNull
    private String userId;
    /**
     * 支付流水ID
     */
    @NotNull
    private Long flowId;
    /**
     * 核销金额
     */
    @NotNull
    private Integer verifiedAmount;
    /**
     * 核销时间
     */
    @NotNull
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonProperty("verified_time")
    private LocalDateTime verifiedTime;
    /**
     * 主订单号
     */
    @NotNull
    private String orderId;
    /**
     * 子订单号
     */
    @NotNull
    private String subOrderId;
    /**
     * 子订单应收金额
     */
    private Integer subOrderAmount;
    /**
     * 退款ID
     */
    private Long refundId;
    /**
     * 退款单总金额
     */
    private Integer refundAmount;

    /**
     * 商户编码/商户ID
     */
    @NotNull
    private String merchantCode;
    /**
     * 产品编码/产品ID
     */
    @NotNull
    private String productCode;

}
